perm filename NSF.FOO[DOC,TOB]1 blob sn#027207 filedate 1973-02-28 generic text, type T, neo UTF8
II. RESEARCH PLAN

	A. THE PILOT ASSEMBLY STATION

The basic goal of the proposed project  is  to  implement  a  general
purpose  assembly  station  and  to  prove  its applicability to real
problems. The project will be considered a success  if  one  or  more
enterprises  chooses  to  manufacture  and market the general purpose
station. There are a number of hardware and software problems  to  be
solved in meeting our goal.

In one configuration, the assembly station is assumed to be connected
to a large time-shared computer facility. Not only does  this  appear
to  be a good design for our problem, but it is also necessary for an
integrated  programmed  automation  facility.  The  only   emphasized
statement  in  the ARPA study report [Anderson 1972] is: "The maximum
impact  of  computers  in  manufacturing  will  come  from  complete,
real-time  computer  cognizance  and  control  of  all  processes and
resources, allowing the precise scheduling and  allocation  of  these
resources."

Each  assembly  station will consist of a small digital computer, one
or more manipulators and cameras. Manipulators and  cameras  will  be
combined  as  modules  in  systems  to suit a given task, and will be
digitally controlled by the station computer.  The  station  computer
may be connected to a central computer or may stand alone. The latter
configuration is less efficient in  the  long  run,  but  allows  for
incremental automation.

The program in the station computer will be flexible as to the number
and position of manipulators and cameras. It will control input  from
the  cameras,  provide for some pre-processing of the picture and the
application of simple tests to the  visual  data.   In  the  case  of
manipulators  it will provide for simultaneous servo control. It will
also process  other  inputs,  such  as  from  touch  sensors  on  the
manipulators,  from photocell interrupt devices, limit switches, etc.
Both analog and binary outputs will be available for the  control  of
other devices.

Each  station  computer will have access to a task program specifying
the actions and tests it should perform to carry out its  task.  This
task  program  will  be compiled by the central computer. Compilation
will consist of the analysis of predicted scenes in order to  specify
simple tests that the station computer can carry out, the calculation
of collision free trajectories for the manipulators, the sequence  of
operations  and  simple  contingency  plans. etc. We are planning for
tasks  whose  normal  execution  does  not  require  detailed   scene
analysis.  If  scene analysis becomes necessary (e.g. a dropped part)
we envision the station sending an image to the central computer  for
processing.

The  central  computer will perform overall control of the individual
assembly stations and the relative rates of  production.  If  at  any
station  a  planned test fails, for which a contingency plan does not
exist, or any unexpected sensor signals  are  received,  the  central
computer  will  also be interrupted and appropriate actions taken. If
the assembly station is not connected to a  central  computer,  these
operations will require human intervention.


Most of the hardware required  for  the  assembly  station  has  been
developed  for  the  laboratory.  Manipulators  and  cameras  will be
discussed in detail below. The major additional problem is to  refine
the   existing   designs   to  meet  the  demands  of  an  industrial
environment.

We are now acquiring small computer  such  as  the  PDP-11  and  will
interface  the existing arms to it together with one or more cameras.
A software package for the small computer will then be  developed  in
order to control the manipulators, read the TV cameras and to perform
low level visual analysis. Programs  to  plan  tasks,  calibrate  the
system  and  to  perform higher level visual analysis, error recovery
and strategy planning will be written in a high  level  language  for
the time-sharing processor.

The most difficult part of the assembly station, and the heart of the
project is a demonstration of the feasibility of the station. We plan
to do this by developing programs which actually assemble and inspect
a variety of fairly complex manufactured items.

A typical example is our current effort, assembly  of  an  automobile
water  pump.  The  major  parts  are  to  be  located, the screws are
supplied by a feeder, as is standard. Locating the body and cover  of
the  pump  require  a gross localization, then a fine localization of
screw  holes.  Touch  provides  a  final  accuracy  and   independent
coordination  of the hand. The placing of alignment pins within screw
holes could be monitored visually; although in this case,the previous
actions   provide  adequate  accuracy.  Placing  of  the  cover  over
alignment pins can be carried  out  without  vision.  Improved  force
sensing now under development will be useful for that operation.

As  we move to more difficult tasks, the sophistication required goes
up quite rapidly.  The  current  manipulation  routines  seem  to  be
expandable  to cover anticipated problems, especially since we intend
to employ special purpose manipulators (tools) for  some  tasks.  The
main part of our effort will be vision for assembly; an assembly task
will be performed using vision, touch, and  two  hands.   The  vision
effort  will  be  integrated with other abilities, and while no great
generality will be stressed, new modules will  be  incorporated  into
the  system,  and  a set of techniques will evolve. These will depend
heavily on techniques similar to  those  of  our  recent  studies  in
visual  feedback  and hand/eye coordination [Gill 1972]. The internal
model of the world will be  used  to  predict  visual  appearance  of
selected  areas  of  the  scene, and a set of verification procedures
will confirm or contradict the predictions. Many  of  the  operations
will  be  connected  with  supplying  feedback  to  manipulation, for
alignment and insertion. These visual procedures will have models for
the parts and approximate locations.

This and other visual tasks connected with assembly will initially be
performed as special  case  problems.  In  addition,  to  make  these
techniques   available,   we  will  pursue  development  of  strategy
programs. This step is essential if intelligent assembly devices  are
to  be conveniently programmed for complex tasks. Within the division
of labor between large and small machines, this facility must  reside
in  the  central  time-sharing  facility which has large memory, file
storage, and problem-solving languages. The system must have a  model
of  the  parts  for  assembly,and  a  sequence  of  instructions  for
assembly. It will be necessary to have a representation of shape  and
models for usual assembly operations such as insertion and alignment,
and the ability to solve simple problems  in  connection  with  these
operations,  all  this  to  enable  convenient communication with the
user. When these facilities exist, the addition of new  features  and
operations  can be incorporated smoothly, so that users can call on a
growing library of planning modules. The result of a planning  effort
is  a  cycle  of  machine  planning and man-machine interaction which
results in a plan  network  for  the  mini  computer  which  controls
individual machines.


	B.  RESEARCH IN VISION

Research in computer vision has progressed so that the larger part of
our  effort is directed toward vision in real scenes. We outline past
research, including work on visual feedback,  development  of  useful
modules,  analysis  of  some outdoor scenes, interpretation of scenes
with curved objects, and a study of sensor systems.

Our  past  work on visual feedback [Gill 1972] in stacking blocks and
inserting objects  in  holes  is  directly  relevant  to  vision  for
assembly.  The  issues  involved  are:  coordinating  hand  and  eye,
utilizing incremental accuracy of vision and  manipulation,  accurate
prediction  to  limit  search,  and  limiting accumulation of errors.
Visual guidance in picking  up  objects  and  stacking  or  inserting
objects  overcomes  errors  in the visual and arm coordinate systems,
and errors in correspondence between the two coordinate systems. This
was  done under realistic conditions, with the hand still holding the
object and in view; the system predicts the appearance of  edges  and
corners  within  a  small  window around the edges to be aligned, and
uses a corner/edge finder to determine alignment error. The arm makes
accurate  incremental  error  correction.  If predictions can be made
accurately, the search window can be small, which increases the speed
of  response  and decreases possibility of confusion with other areas
of the scene. A major limitation to accuracy of  prediction  (and  to
long-term  reliability  in  the  industrial  environment) is drift of
calibration.  That  work   incorporates   calibration   updating   by
self-calibration  to  coordinate  hand and eye coordinate systems and
provide for reliability, as well as to  limit  search  by  accurately
predicting  expected  features. Visual feedback with stereo vision is
much more powerful than without; we have demonstrated  stereo  visual
feedback in a program [Binford unpublished].

We  have  a  set of visual modules to be used in a goal-directed way.
These modules  answer  questions  which  arise  in  practical  visual
feedback  tasks,  and  in analysis of outdoor scenes. Are there color
edges in a selected window? Are there edges in  brightness?  What  is
the  color  of  the  region  in the window? Several preliminary color
region analysis programs have been developed  [Binford,  unpublished,
Bajcsy  1972].  An  edge  operator  [Hueckel 1969] and a region-based
corner/edge finder [Gill 1972] both operate on small windows  of  the
scene,  as  directed  by  a higher level. An edge verifier is used to
confirm or reject edges  predicted  from  context  [Tenenbaum  1970].
Color  identification has long been demonstrated. Recently, a program
has been implemented [Thomas unpublished]  based  on  Land's  Retinex
model  of  color  constancy in vision, which defines a color triangle
from  ordering  of  brightnesses.  The  center  of  the  triangle  is
designated  as  white. The program shows a color constancy similar to
humans; table top scenes are assigned colors reasonably well under  a
variety  of  lighting  with different spectra: sunlight, flourescent,
and incandescent.

Understanding outdoor  scenes  is  a  more  complex  task  than  many
industrial  visual  operations,  but  it  has  utility  for planetary
exploration; it is also  a  useful  exercise  for  developing  color,
texture, and stereo operations. Bajcsy analyzed outdoor scenes with a
combination of color and texture region analysis [Bajcsy 1972]; depth
cues  were taken from the gradient of texture. An attempt was made to
obtain  consistent  interpretations  by  making   three   dimensional
interpretations, and confirming boundaries by independent properties.
Natural objects and natural scenes have been used for our  work  with
motion    parallax    [Nevatia    in   draft]   and   stereo   vision
[Quam,Hannah].These are complementary techniques of depth  perception
which  are applicable for planetary exploration and industrial tasks.
Motion  parallax  can  be  used  for  planning  of   navigation   and
characterizing  large scale terrain features, since it provides large
baselines.

Another aspect  of  vision  with  direct  application  to  industrial
enviroments  is  explored  in  our  work with curved objects. Current
programs use depth information to make useful descriptions of objects
like  a  doll,  a toy horse, a snake, or a glove [Agin]. Programs can
segment these objects into parts like legs, arms or fingers, and link
these   parts   together  to  form  descriptions  of  entire  objects
[Nevatia]. These operations are precursors to a recognition  process.
The  work  depends on a new representation of shape [Binford 1971] in
terms of volume components and a part/whole  segmentation.  Primitive
parts  are  described  by  an axis which is a space curve, and normal
cross sections along the axis.  The  representation  is  based  on  a
formalism,   "generalized   translational   invariance".   There  are
significant theoretical reasons why this representation  leads  to  a
natural choice of parts by simple procedures, in distinction to other
suggested  representations.  We  developed  a  laser  ranging  device
[Binford  1970,Agin]  which  was  operational  two  years  ago. It is
particularly interesting that the device adds a cost  of  only  about
$400 to the cost of a visual system.

A study of visual and depth ranging sensor has been carried out which
provides a background for choosing sensors and interface, and  making
cost  estimates  [Binford  1972, Earnest 1967].  We have maintained a
calibrated hand and vision system for several years [Sobel 1970], and
have  developed  self-calibration  techniques  with  one and two eyes
[Yakimovsky unpublished, Hannah 1972, Gill 1972].

A system for understanding scenes of blocks  from  single  views  has
been  implemented  [Falk  1970]; it segments objects, matches against
internal  models,  predicts  appearance  from  its  assumptions,  and
searches  for  verification  and contradiction based on the predicted
image. Support and spatial relations are  also  obtained.  There  has
been  past  work  on  programs  to  obtain  line drawings as input to
recognition systems. An earlier system was based on  limited  context
of expecting continuation of edges at vertices and predicting missing
edges in certain expected configurations [Grape 1970]. A more  recent
approach has been to use models within the process of generating line
drawings, so that the most efficient  next  guess  can  be  made  and
context used intrinsically in the formation of line drawings.

VISION FOR ASSEMBLY

This  is  a  key part of the proposed project. We propose to evaluate
and implement visual facilities  required  by  a  robot  with  simple
vision, in conjunction with force and touch. These facilities must be
modularized by working out several examples, and made fast enough and
small  enough to be practical for a minicomputer-based robot. We have
considerable experience with such standardization,  and  with  visual
feedback  techniques  in  the domain of blocks. We are now at work on
extending visual feedback techniques to typical  assembly  tasks.  We
are  also  evaluating  methods of automating visual feedback. We have
well-developed systems for modeling objects from the console  and  to
predict  their  appearance  using  techniques  from computer graphics
[Baumgart 1972a,b]. We can predict curved edges from our  models.  We
will use simple region analysis programs and edge operators to locate
curved edges  predicted  within  a  small  window.  Automated  visual
feedback   would  combine  with  evolving  strategy  programs  in  an
interactive system, Assembly Robot Management System, ARMS.  We  will
maintain a calibrated system and improve calibration updating so that
reliability is maintained at a high level.

We have developed a special case program for locating the  pump  body
in  the  pump assembly and moving it to the standard location. We are
at work on several other such tasks involved  in  the  pump  assembly
which  contain  components  of  general  utility for visual feedback.
These tasks are typical of the simple visual operations which we will
implement or adapt.

VISION RESEARCH

While  continuing  research activities are not to be supported by the
proposed project, in all likelihood, the research will suggest useful
programs for the assembly system, particularly work in recognition of
complex objects using depth data.   The  computer  now  has  symbolic
internal  models  of  objects.  We are now in a position to recognize
objects such as a glove, a hammer, etc.   We  will  immediately  deal
with matching descriptions for recognition.  The important extensions
we wish to deal with are occlusion  and  access  to  a  large  visual
memory.   These  will  involve  matching  of partial descriptions and
encoding of partial descriptions as  indices  to  a  small  class  of
similar  shapes,  which  can then be compared in more detail.  We are
working toward making the hardware stable enough that it can maintain
calibration,  and  software streamlined so that the depth measurement
system can be integrated with other hand/eye facilities.   We  intend
to  apply large parts of our programs for description and recognition
of curved objects using only monocular intensity information. This is
a  much harder problem, but within our representation, shares much of
the same code, and relies on  the  same  conceptual  basis  of  local
three-dimensional models.


There is a growing  effort  on  navigation  of  vehicles  in  outdoor
scenes.  While  this  is  not  directly  relevant  to  the industrial
environment, it does  reflect  the  growing  involvement  in  complex
visual  tasks,  and will lead to further development of an integrated
visual system. One approach which has already given  initial  results
[Yakimovsky] is to combine region growing with interpretation using a
world model.  Thus, regions are combined not simply on the  basis  of
uniformity but because combining them improves the interpretation. At
the same time, we will be combining more facilities into these visual
systems, and more usable knowledge in the world model.

	C. MANIPULATOR DEVELOPMENT

Manipulator   research  began  at  Stanford  Artificial  Intelligence
Laboratory  in  1965  with  the  acquisition  and  programming  of  a
prototype  Rancho Orthotic Arm.  A later version of this arm was used
in vision directed block stacking programs.

Our present arm, the result of a continuing design project,  replaced
the  Rancho Arm in 1970. This arm like its predecessor was controlled
by a digital servo program running under the time  sharing  computer.
The new arm was used in the "Instant Insanity" demonstration in 1971.
A second arm of the same type,  with  only  minor  modifications,  is
currently  being interfaced to the computer.   Both arms will share a
common work space and will  be  able  to  be  used  individually,  or
together for two handed tasks.

Each  joint  of the arm is calibrated in terms of torque versus drive
level and it is possible to predict the joint drive levels to produce
a  given  force at the hand. Further, for the hand to exhibit degrees
of freedom of motion, various joints are selected to be "free",  that
is  to have no position feedback applied to them. By exerting a force
at the hand and providing that certain degrees of freedom exist it is
possible  to  perform  a  much  wider  class  of  tasks  than  simple
positional control, for instance screwing in  screws,  mating  parts,
inserting tools and turning cranks.

Touch  sensors on the fingers allow the hand to sense objects without
disturbing them.   When activated the arm will stop when any  of  the
sensors  touch.  Branching arm instructions can test the state of the
sensors and modify the execution of an arm program. When  screwing  a
nut  onto  a  bolt, for instance, the hand is first centered over the
bolt by touching it.

Control of the arms is by a series of high level instructions;  these
instructions  may  be executed directly, or may be assembled together
into an arm program. Arm programs may then be executed,  as  desired,
by  the  control  program.   The control instructions may be accessed
directly by other programs, using the message procedure mechanism, or
in the form of symbolic source file.

Positional  accuracy  at  the  hand  is  typically  0.1  inches  with
repeatability of 0.02 inches. Force control at the hand is within  10
ounces. The data rate to run the arm from an assembled arm program is
of the order of 100 bits/second.

Manipulator research moves  ahead  simultaneously  on  three  fronts:
control,  primitives  and  devices.      Tasks are translated into an
existing hand language and where the task cannot be  accomplished  in
terms  of  existing  primitives,  new  primitives are formulated in a
consistent manner.   When a new primative is  formulated,  real  time
routines  are  developed  to perform the action.  This also leads, in
many cases, to the development of new  hardware.        Also  as  new
developments  occur  in  hardware design, existing real time routines
are either re-written or modified.

Research is now concentrating on the following areas:

Strain gauge instrumentation of the wrist, in order to allow for more
sensitive  interaction  of  the  hand with a task.   High resolution,
high sensitivity touch sensors, to increase tactile  recognition  and
control  abilities.      These  developments will lead in turn to new
control concepts.

Development of tools for the hand. These tools  can  be  instrumented
such  that  the  computer can feel and or see at the end of the tool.
This should be a very important area of research as  it  goes  beyond
present human capabilities.

Two handed arm control, the planning and execution of tasks requiring
the coordinated motion of both arms. This will require  an  extension
of  the  existing  servo  program and the analysis of synchronization
problems. The development of collision avoiders, so  that  arms  will
not collide with other objects and with each other.

Modification  of  the  existing  arm  design  to  provide  for better
incremental motions, more degrees of freedom and a more rugged design
suitable  for  industrial  use.   Development of arm and eye computer
interfaces.   These contain  synchronized  analog/digital  converters
for input and current controlled drivers for output.

The  development  of  new hands is expected as more complex tasks are
attempted.   At present, with only one hand, we have been  performing
the  positioning  type  of  hand  actions.    When  the second arm is
operational we will be able to perform holding and pulling actions as
well.

	D.  SYSTEM REQUIREMENTS FOR ADVANCED AUTOMATION

A  key  element in the development of any large programming effort is
the software support.  There has been continual  effort  along  these
lines  at  the  Stanford  Artificial Intelligence Laboratory and many
useful ideas have been developed.  We propose to extend the  research
along  two  separate lines:  support for research and system software
for operating automated systems.  We will briefly describe  our  past
efforts in this area and what we propose to undertake.

The  Stanford  Artificial  Intelligence  Laboratory  has pioneered in
several areas of system programming, including  timesharing  sys36700
interactive graphics, and programming languages.

A  great  deal  of  additional effort has gone into direct support of
hand-eye research.   Very early, we established  a  set  of  standard
formats  and  library routines [Pingle 72a].  A programming language,
SAIL[Swinehart], was implemented in 1968.  The language  incorporates
special   features  for  large  real-world-oriented  problem  solving
systems  and  is  currently  in  use  at  a  number   of   Artificial
Intelligence and other laboratories.

As  we began to assemble larger and more sophisticated collections of
programs, we felt a need  for  flexible  mechanisms  for  cooperating
sequential  processes.   The  resulting monitor and language features
[Feldman & Sproull 1971] have  worked  well  for  us  and  have  been
influential   on  other  projects.     Recently,  we  have  added  an
additional set of features to SAIL  to  facilitate  non-deterministic
and  event-directed  programming[Feldman 1972].   The early reactions
to this work, both within the laboratory and without  has  been  very
encouraging.

We  expect  relatively  little  work  to be needed on further systems
support for basic research.   There will undoubtedly  be  efforts  to
take  advantage of new hardware and of new programming ideas that may
develop in the course of this program.    Almost  all  of  this  work
should be covered by other funding.

The  development  of  software  for the assembly station will require
more  of  our  effort.    The  central-local  computer  configuration
requires  code to be resident in the local computer and in the shared
machine.    The low level programs in the local machine will  not  be
modified  often,  thus  we can assume that a compiler resident in the
central machine will suffice.   The  planning  programs  and  general
vision programs will be resident in the shared system.  There are two
possible configurations for the shared computer system:     A  PDP-10
equivalent  machine  or a software package in ASA Standard Fortran IV
which will run on any sufficiently large machine.    One of the tasks
under this proposal would be to evaluate these two alternatives.

A major share of the programming research effort will be concentrated
on developing a programming system for automated assembly.  This will
combine  ideas  from  our  past  work  on  languages, representation,
computer graphics and arm control.  We view this task as a branch  of
the  larger  effort on automatic programming being undertaken in this
laboratory and elsewhere.